package com.bigdata

import java.io.FileNotFoundException
import scala.io.{BufferedSource, Source}

/**
 * 使用scala语法实现异常处理
 */
object Demo6Exception {

  /*
    编译时异常：
      java有，对于很多有可能出现异常的代码，要求我们必须要处理，不处理编译失败
      scala不需要显式的处理
    运行时异常：
     */
  def main(args: Array[String]): Unit = {
    /**
     * scala的异常和java原理一样，
     * scala默认将异常抛出，不需要显式抛出
     */
    try {
      // val source: BufferedSource = Source.fromFile("afdasdfas")
      // println(1 / 0)
      Class.forName("asfdasfasdf")
    } catch {
      case e: FileNotFoundException =>
        e.printStackTrace()
        println("文件找不到异常")
      case e: RuntimeException =>
        e.printStackTrace()
        println("运行时异常")
      case e: Exception =>
        e.printStackTrace()
        println("其他异常")
    } finally {
      println("finally...")
    }

    println("after....")

  }


}
